home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HyperLib 1997 Winter - Disc 1
/
HYPERLIB-1997-Winter-CD1.ISO.7z
/
HYPERLIB-1997-Winter-CD1.ISO
/
オンラインウェア
/
PRG
/
MacPerl 506 appl folder.sit
/
MacPerl 506 appl folder
/
Mac_Perl_506r1m_appl
/
t
/
TEST
< prev
next >
Wrap
Text File
|
1996-01-13
|
2KB
|
120 lines
::Perl -Sx "{0}" prepare {"Parameters"} > MacPerlTest.Run
:MacPerlTest.Run キ MacPerlTest.Out
::Perl -Sx "{0}" evaluate {"Parameters"} MacPerlTest.Out
Delete MacPerlTest.Out MacPerlTest.Run
Exit 0
#!./perl
# $RCSfile: TEST,v $$Revision: 4.0.1.1 $$Date: 91/06/07 11:59:30 $
# This is written in a peculiar style, since we're trying to avoid
# most of the constructs we'll be testing for.
$| = 1;
$operation = shift;
if ($ARGV[0] eq '-v') {
$verbose = 1;
shift;
}
die "Run me from the :t directory" if (-f ':t:TEST');
if ($operation eq "prepare") {
print "Set Exit 0¥n";
if ($ARGV[0] eq '') {
@ARGV = split(/[ ¥n]/,
`echo :base:ナ.t :comp:ナ.t :cmd:ナ.t :io:ナ.t; echo :op:ナ.t :lib:ナ.t`);
}
$bad = 0;
$good = 0;
$total = @ARGV;
while ($test = shift) {
if ($test =~ /^$/) {
next;
}
$te = $test;
chop($te);
print "echo ¥'----- $te" . '.' x (20 - length($te)) . "¥'¥n";
open(script,"$test") || die "Can't run $test.¥n";
$_ = <script>;
close(script);
if (/#!..perl(.*)/) {
$switch = $1;
} else {
$switch = '';
}
print "::Perl.PPC $switch $test¥n";
}
} elsif ($operation eq "evaluate") {
$_ = "";
tests: while (1) {
while (1) {
last if /^-----/;
last tests unless ($_ = <>);
}
$_ =~ /----- (.*)/;
print $1;
$ok = 0;
$next = 0;
++$total;
while (<>) {
last if (/^-----/);
if ($verbose) {
print "¥t$_";
}
unless (/^#/) {
if (/^1¥.¥.([0-9]+)/) {
$max = $1;
$totmax += $max;
$files += 1;
$next = 1;
$ok = 1;
} else {
$next = $1, $ok = 0, last if /^not ok ([0-9]*)/;
if (/^ok (.*)/ && $1 == $next) {
$next = $next + 1;
} else {
$ok = 0;
}
}
}
}
$next = $next - 1;
if ($ok && $next == $max) {
print "ok¥n";
$good = $good + 1;
} else {
$next += 1;
print "FAILED on test $next¥n";
$bad = $bad + 1;
$_ = $test;
}
last if eof;
}
if ($bad == 0) {
if ($ok) {
print "All tests successful.¥n";
} else {
die "FAILED--no tests were run for some reason.¥n";
}
} else {
$pct = sprintf("%.2f", $good / $total * 100);
if ($bad == 1) {
warn "Failed 1 test, $pct% okay.¥n";
} else {
warn "Failed $bad/$total tests, $pct% okay.¥n";
}
}
}